The StarJIT Compiler: A Dynamic Compiler for Managed Runtime Environments
نویسندگان
چکیده
Dynamic compilers (or Just-in-Time [JIT] compilers) are a key component of managed runtime environments. This paper describes the design and implementation of the StarJIT compiler, a dynamic compiler for Java Virtual Machines and Common Language Runtime platforms. The goal of the StarJIT compiler is to build an infrastructure to research the influence of managed runtime environments on Intel architectures. The StarJIT compiler can compile both Java and Common Language Infrastructure (CLI) bytecodes, and it uses a single intermediate representation and global optimization framework for both Java and CLI. The StarJIT compiler is designed to generate optimized code for the major Intel architectures and currently targets two Intel architectures: IA-32 and the Itanium Processor Family. In this paper, we describe the overall architecture (bytecode translators, global optimizer, and code generators) of the StarJIT compiler and the design of its intermediate representation, global optimizer, Itanium Processor Family code generator, and dynamic optimization framework. We present implementation details on the single static assignment (SSA)-based global ∗ Other brands and names are the property of their respective owners. Itanium is a registered trademark of Intel Corporation or its subsidiaries in the United States and other countries. optimizations [1], the Itanium Processor Family trace scheduler, and the profile-driven dynamic optimization framework.
منابع مشابه
Pervasive Parallelism for Managed Runtimes
Modern programming languages like C# or Java are executed in a managed runtime and offer support for concurrency at a high level of abstraction. However, high-level parallel abstractions (e.g., thread pools) can merely be provided as a library since the underlying runtime (including the dynamic compiler) is aware of only a small set of low-level parallel abstractions. In this paper we discuss a...
متن کاملTrace Based Compilation in Interpreter-less Execution Environments
Trace based compilation is a technique used in managed language runtimes to detect and compile frequently executed program paths. The goal is reduced compilation time and improved code quality since only “hot” parts of methods are ever compiled. Trace compilation is well suited for interpreter based runtime environments because the control flow of an application program is highly visible and re...
متن کاملExploring Dynamic Compilation and Cross-Layer Object Management Policies for Managed Language Applications
Recent years have witnessed the widespread adoption of managed programming languages that are designed to execute on virtual machines. Virtual machine architectures provide several powerful software engineering advantages over statically compiled binaries, such as portable program representations, additional safety guarantees, automatic memory and thread management, and dynamic program composit...
متن کاملHeap Data Allocation to Scratch-Pad Memory in Embedded Systems
Title of dissertation: HEAP DATA ALLOCATION TO SCRATCH-PAD MEMORY IN EMBEDDED SYSTEMS Angel Dominguez Doctor of Philosophy, 2007 Dissertation directed by: Professor Rajeev K. Barua Department of Electrical and Computer Engineering This thesis presents the first-ever compile-time method for allocating a portion of a program’s dynamic data to scratch-pad memory. A scratch-pad is a fast directly a...
متن کاملAdvanced Compiler and Runtime Support for Data Intensive Applications
Processing and analyzing large volumes of data play an increasingly important role in many domains of scientific research. However, high-level language and compiler support for developing such applications have been so far lacking. We are developing compiler and runtime techniques necessary to generateefficient implementations of such applications from a high-level programming language. Through...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003